#ifndef ABSTRACTLEVELOBJECT_H
#define ABSTRACTLEVELOBJECT_H

#include "abstractobject.h"

namespace LevelObjects {

enum LevelObjectType
{
	LOT_Level,
	LOT_Actor
};

class AbstractLevelObject : public AbstractObject
{
	Q_OBJECT

public:
	AbstractLevelObject(QObject *parent, const QString& name);

	virtual LevelObjectType type() const = 0;
	// assume that all level objects has level as a parent (1 depth tree)
	virtual QPointer<AbstractLevelObject> level();
private:
};

} // namespace LevelObjects
#endif // ABSTRACTLEVELOBJECT_H
